[libc++abi] Remove redundant #include of <string.h> <string.h> is always included, so we don't need the additional #include only in the _WIN32 case. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@373365 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/src/private_typeinfo.cpp b/src/private_typeinfo.cpp index 43c91d1..5ce762a 100644 --- a/src/private_typeinfo.cpp +++ b/src/private_typeinfo.cpp
@@ -11,47 +11,41 @@ // The flag _LIBCXX_DYNAMIC_FALLBACK is used to make dynamic_cast more // forgiving when type_info's mistakenly have hidden visibility and thus // multiple type_infos can exist for a single type. -// +// // When _LIBCXX_DYNAMIC_FALLBACK is defined, and only in the case where // there is a detected inconsistency in the type_info hierarchy during a // dynamic_cast, then the equality operation will fall back to using strcmp // on type_info names to determine type_info equality. -// +// // This change happens *only* under dynamic_cast, and only when // dynamic_cast is faced with the choice: abort, or possibly give back the // wrong answer. If when the dynamic_cast is done with this fallback // algorithm and an inconsistency is still detected, dynamic_cast will call // abort with an appropriate message. -// +// // The current implementation of _LIBCXX_DYNAMIC_FALLBACK requires a // printf-like function called syslog: -// +// // void syslog(int facility_priority, const char* format, ...); -// +// // If you want this functionality but your platform doesn't have syslog, // just implement it in terms of fprintf(stderr, ...). -// +// // _LIBCXX_DYNAMIC_FALLBACK is currently off by default. - -#include <string.h> - - -#ifdef _LIBCXX_DYNAMIC_FALLBACK -#include "abort_message.h" -#include <sys/syslog.h> -#endif - // On Windows, typeids are different between DLLs and EXEs, so comparing // type_info* will work for typeids from the same compiled file but fail // for typeids from a DLL and an executable. Among other things, exceptions // are not caught by handlers since can_catch() returns false. // -// Defining _LIBCXX_DYNAMIC_FALLBACK does not help since can_catch() calls +// Defining _LIBCXX_DYNAMIC_FALLBACK does not help since can_catch() calls // is_equal() with use_strcmp=false so the string names are not compared. -#ifdef _WIN32 #include <string.h> + +#ifdef _LIBCXX_DYNAMIC_FALLBACK +#include "abort_message.h" +#include <sys/syslog.h> #endif static inline @@ -158,11 +152,11 @@ // std::nullptr_t. // adjustedPtr: -// +// // catch (A& a) : adjustedPtr == &a // catch (A* a) : adjustedPtr == a // catch (A** a) : adjustedPtr == a -// +// // catch (D2& d2) : adjustedPtr == &d2 (d2 is base class of thrown object) // catch (D2* d2) : adjustedPtr == d2 // catch (D2*& d2) : adjustedPtr == d2 @@ -1112,7 +1106,7 @@ info->dst_ptr_not_leading_to_static_ptr = current_ptr; info->number_to_dst_ptr += 1; // If there exists another dst with a private path to - // (static_ptr, static_type), then the cast from + // (static_ptr, static_type), then the cast from // (dynamic_ptr, dynamic_type) to dst_type is now ambiguous. if (info->number_to_static_ptr == 1 && info->path_dst_ptr_to_static_ptr == not_public_path)